<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>Execute operation with EXCLUSIVE LOCK</title>
<link media="all" rel="stylesheet" type="text/css" href="styles/03e73060321a0a848018724a6c83de7f-theme-base.css" />
<link media="all" rel="stylesheet" type="text/css" href="styles/03e73060321a0a848018724a6c83de7f-theme-medium.css" />

 </head>
 <body class="docs"><div class="navbar navbar-fixed-top">
  <div class="navbar-inner clearfix">
    <ul class="nav" style="width: 100%">
      <li style="float: left;"><a href="mysql-xdevapi-collectionfind.limit.html">« CollectionFind::limit</a></li>
      <li style="float: right;"><a href="mysql-xdevapi-collectionfind.lockshared.html">CollectionFind::lockShared »</a></li>
    </ul>
  </div>
</div>
<div id="breadcrumbs" class="clearfix">
  <ul class="breadcrumbs-container">
    <li><a href="index.html">PHP Manual</a></li>
    <li><a href="class.mysql-xdevapi-collectionfind.html">mysql_xdevapi\CollectionFind</a></li>
    <li>Execute operation with EXCLUSIVE LOCK</li>
  </ul>
</div>
<div id="layout">
  <div id="layout-content"><div id="mysql-xdevapi-collectionfind.lockexclusive" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">CollectionFind::lockExclusive</h1>
  <p class="verinfo">(No version information available, might only be in Git)</p><p class="refpurpose"><span class="refname">CollectionFind::lockExclusive</span> &mdash; <span class="dc-title">Execute operation with EXCLUSIVE LOCK</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-mysql-xdevapi-collectionfind.lockexclusive-description">
  <h3 class="title">说明</h3>
  <div class="methodsynopsis dc-description">
   <span class="modifier">public</span> <span class="methodname"><strong>mysql_xdevapi\CollectionFind::lockExclusive</strong></span>(<span class="methodparam"><span class="type">int</span> <code class="parameter">$lock_waiting_option</code><span class="initializer"> = ?</span></span>): <span class="type"><a href="class.mysql-xdevapi-collectionfind.html" class="type mysql_xdevapi\CollectionFind">mysql_xdevapi\CollectionFind</a></span></div>

  <p class="para rdfs-comment">
   Lock exclusively the document, other transactions are blocked from updating the document until the document is locked
    While the document is locked, other transactions are blocked from updating those docs, from doing SELECT ... LOCK IN SHARE MODE, 
     or from reading the data in certain transaction isolation levels. Consistent reads ignore any locks set on the records 
     that exist in the read view.
   </p>
  <p class="para">
   This feature is directly useful with the modify() command, to avoid concurrency problems. Basically, it serializes access to a row through row locking
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-mysql-xdevapi-collectionfind.lockexclusive-parameters">
  <h3 class="title">参数</h3>
  <dl>
   
    <dt>
<code class="parameter">lock_waiting_option</code></dt>

    <dd>

     <p class="para">
      Optional waiting option. By default it is <strong><code>MYSQLX_LOCK_DEFAULT</code></strong>. Valid values are these constants:
     </p>
     <ul class="itemizedlist">
      <li class="listitem"><p class="para"><strong><code>MYSQLX_LOCK_DEFAULT</code></strong></p></li>
      <li class="listitem"><p class="para"><strong><code>MYSQLX_LOCK_NOWAIT</code></strong></p></li>
      <li class="listitem"><p class="para"><strong><code>MYSQLX_LOCK_SKIP_LOCKED</code></strong></p></li>
     </ul>
    </dd>

   
  </dl>

 </div>


 <div class="refsect1 returnvalues" id="refsect1-mysql-xdevapi-collectionfind.lockexclusive-returnvalues">
  <h3 class="title">返回值</h3>
  <p class="para">
   Returns a CollectionFind object that can be used for further processing
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-mysql-xdevapi-collectionfind.lockexclusive-examples">
  <h3 class="title">范例</h3>
  <div class="example" id="example-1581">
   <p><strong>示例 #1 <span class="function"><strong>mysql_xdevapi\CollectionFind::lockExclusive()</strong></span> example</strong></p>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />$session&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_xdevapi</span><span style="color: #007700">\</span><span style="color: #0000BB">getSession</span><span style="color: #007700">(</span><span style="color: #DD0000">"mysqlx://user:password@localhost"</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$schema&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$session</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getSchema</span><span style="color: #007700">(</span><span style="color: #DD0000">"addressbook"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$collection&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$schema</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">createCollection</span><span style="color: #007700">(</span><span style="color: #DD0000">"people"</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$session</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">startTransaction</span><span style="color: #007700">();<br /><br /></span><span style="color: #0000BB">$result&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$collection<br />&nbsp;&nbsp;</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">find</span><span style="color: #007700">(</span><span style="color: #DD0000">"age&nbsp;&gt;&nbsp;50"</span><span style="color: #007700">)<br />&nbsp;&nbsp;-&gt;</span><span style="color: #0000BB">lockExclusive</span><span style="color: #007700">()<br />&nbsp;&nbsp;-&gt;</span><span style="color: #0000BB">execute</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">//&nbsp;...&nbsp;do&nbsp;an&nbsp;operation&nbsp;on&nbsp;the&nbsp;object<br /><br />//&nbsp;Complete&nbsp;the&nbsp;transaction&nbsp;and&nbsp;unlock&nbsp;the&nbsp;document<br /></span><span style="color: #0000BB">$session</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">commit</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div>
   </div>

  </div>
 </div>


</div></div></div></body></html>